package cn.jxau.fukin.service;

import java.math.BigDecimal;
import java.util.List;

import cn.jxau.fukin.model.Card;
import cn.jxau.fukin.model.Rate;

public interface IRateService {

	/**
	 * 计算预利息及预总金额
	 * @param rate	封装好的利息对象
	 * @param money	预存金额
	 * @return	计算后的利息和最终金额（本金+利息） 
	 * 			list.get(0):利息	
	 * 			list.get(1):最终金额
	 */
	List<BigDecimal> calculatePreInterest(Rate rate, String money);

	/**
	 * 存款操作
	 * @param user
	 * @param card
	 * @param rate
	 * @param money
	 * @return
	 */
	String deposit(Card card, Rate rate, String money);
	
	/**
	 * 取款操作
	 * @param user
	 * @param card
	 * @param money
	 * @param rate	(若活期现金够时输入：null)
	 * @param depositTime	(若活期现金够时输入：null)
	 * @return
	 */
	String withdraw(Card card, String money,Rate rate,String depositTime);
	
	/** 
	 * 转账操作
	 * @param myCard
	 * @param otherCard
	 * @param money
	 * @param rate
	 * @param depositTime
	 * @return SUCCESS/ERROR
	 */
	String transfer(Card myCard,Card otherCard,String money,Rate rate, String depositTime);
}
